itk_wrap_module("ITKPyBase" Python)

  set(WRAPPER_LIBRARY_DEPENDS )
  set(WRAPPER_LIBRARY_LINK_LIBRARIES )

  set(WRAPPER_LIBRARY_SWIG_INPUTS "${CMAKE_CURRENT_SOURCE_DIR}/pyBase.i")

  ADD_PYTHON_CONFIG_TEMPLATE("cerr" "std::cerr" "cerr" "")
  ADD_PYTHON_CONFIG_TEMPLATE("cin" "std::cin" "cin" "")
  ADD_PYTHON_CONFIG_TEMPLATE("clog" "std::clog" "clog" "")
  ADD_PYTHON_CONFIG_TEMPLATE("cout" "std::cout" "cout" "")
  ADD_PYTHON_CONFIG_TEMPLATE("cvar" "std::cvar" "cvar" "")
  ADD_PYTHON_CONFIG_TEMPLATE("endl" "std::endl" "endl" "")
  ADD_PYTHON_CONFIG_TEMPLATE("ends" "std::ends" "ends" "")
  ADD_PYTHON_CONFIG_TEMPLATE("flush" "std::flush" "flush" "")
  ADD_PYTHON_CONFIG_TEMPLATE("ios" "std::ios" "ios" "")
  ADD_PYTHON_CONFIG_TEMPLATE("ios_base" "std::ios_base" "ios_base" "")
  ADD_PYTHON_CONFIG_TEMPLATE("ios_base_sync_with_stdio" "std::ios_base_sync_with_stdio" "ios_base_sync_with_stdio" "")
  ADD_PYTHON_CONFIG_TEMPLATE("ios_base_xalloc" "std::ios_base_xalloc" "ios_base_xalloc" "")
  ADD_PYTHON_CONFIG_TEMPLATE("iostream" "std::iostream" "iostream" "")
  ADD_PYTHON_CONFIG_TEMPLATE("istream" "std::istream" "istream" "")
#  ADD_PYTHON_CONFIG_TEMPLATE("istringstream" "std::istringstream" "istringstream" "")
  ADD_PYTHON_CONFIG_TEMPLATE("ostream" "std::ostream" "ostream" "")
#  ADD_PYTHON_CONFIG_TEMPLATE("ostringstream" "std::ostringstream" "ostringstream" "")
#  ADD_PYTHON_CONFIG_TEMPLATE("streambuf" "std::streambuf" "streambuf" "")
  ADD_PYTHON_CONFIG_TEMPLATE("string" "std::string" "str" "")
#  ADD_PYTHON_CONFIG_TEMPLATE("stringstream" "std::stringstream" "stringstream" "")

  foreach(t B UC US UL SC SS SL F D)
    ADD_PYTHON_CONFIG_TEMPLATE("map" "std::map" "map${t}${t}" "${ITKT_${t}}, ${ITKT_${t}}")
    ADD_PYTHON_CONFIG_TEMPLATE("list" "std::list" "list${t}" "${ITKT_${t}}")
    ADD_PYTHON_CONFIG_TEMPLATE("set" "std::set" "set${t}" "${ITKT_${t}}")
    ADD_PYTHON_CONFIG_TEMPLATE("vector" "std::vector" "vector${t}" "${ITKT_${t}}")
    ADD_PYTHON_CONFIG_TEMPLATE("vector" "std::vector" "vectorvector${t}" "std::vector< ${ITKT_${t}} >")
  endforeach()
  foreach(t ULL SLL)
    ADD_PYTHON_CONFIG_TEMPLATE("set" "std::set" "set${t}" "${ITKT_${t}}")
  endforeach()

  ADD_PYTHON_CONFIG_TEMPLATE("map" "std::map" "mapULD" "unsigned long, double")
  ADD_PYTHON_CONFIG_TEMPLATE("vector" "std::vector" "vectorsetUL" "std::set< unsigned long >")
  ADD_PYTHON_CONFIG_TEMPLATE("map" "std::map" "mapsetUL" "unsigned long, std::set< unsigned long >")

itk_end_wrap_module()
